<?php

namespace App\Models\Cache;

use Illuminate\Support\Facades\Facade;

/**
 * Class Redis
 * @package App\Models\Cache
 * @method static \Illuminate\Redis\Connections\Connection connection(string $name = null)
 * @method static \Illuminate\Redis\Limiters\ConcurrencyLimiterBuilder funnel(string $name)
 * @method static \Illuminate\Redis\Limiters\DurationLimiterBuilder throttle(string $name)
 * @method static \Redis get($key)
 * @method static \Redis set($key, $value, $timeout = null)
 * @method static \Redis setex($key, $ttl, $value)
 * @method static \Redis setnx($key, $value)
 * @method static \Redis expire($key, $ttl)
 * @method static \Redis getSet($key, $value)
 * @method static \Redis del($key)
 * @method static \Redis mget(array $array)
 * @method static \Redis mset(array $array)
 * @method static \Redis ttl($key)
 * @method static \Redis exists($key)
 * @method static \Redis rPush($key, ...$value1)
 * @method static \Redis lPush($key, ...$value1)
 * @method static \Redis llen($key)
 * @method static \Redis lRange($key, $start, $end)
 * @method static \Redis lIndex($key, $index)
 * @method static \Redis lGet($key, $index)
 * @method static \Redis lSet($key, $index, $value)
 * @method static \Redis lRem($key, $value, $count)
 * @method static \Redis lpop($key)
 * @method static \Redis rpop($key)
 * @method static \Redis blPop($keys, $timeout)
 * @method static \Redis sort($key, $option = null)
 * @method static \Redis sAdd($key, ...$value1)
 * @method static \Redis sRem($key, ...$member1)
 * @method static \Redis sRemove($key, ...$member1)
 * @method static \Redis sPop($key)
 * @method static \Redis sMove($srcKey, $dstKey, $member)
 * @method static \Redis sCard($key)
 * @method static \Redis sScan($key, &$iterator, $pattern = null, $count = 0)
 * @method static \Redis sIsMember($key, $value)
 * @method static \Redis sMembers($key)
 * @method static \Redis sGetMembers($key)
 * @method static \Redis sUnion($key1, ...$otherKeys)
 * @method static \Redis sUnionStore($dstKey, $key1, ...$otherKeys)
 * @method static \Redis sDiff($key1, ...$otherKeys)
 * @method static \Redis sDiffStore($dstKey, $key1, ...$otherKeys)
 * @method static \Redis sInter($key1, ...$otherKeys)
 * @method static \Redis sContains($key, $value)
 * @method static \Redis sRandMember($key, $count = 1)
 * @method static \Redis sInterStore($dstKey, $key1, ...$otherKeys)
 * @method static \Redis hSet($key, $hashKey, $value)
 * @method static \Redis hSetNx($key, $hashKey, $value)
 * @method static \Redis hGet($key, $hashKey)
 * @method static \Redis hLen($key)
 * @method static \Redis hDel($key, $hashKey1, ...$otherHashKeys)
 * @method static \Redis hKeys($key)
 * @method static \Redis hVals($key)
 * @method static \Redis hGetAll($key)
 * @method static \Redis hExists($key, $hashKey)
 * @method static \Redis hIncrBy($key, $hashKey, $value)
 * @method static \Redis hMSet($key, $hashKeys)
 * @method static \Redis hMGet($key, $hashKeys)
 * @method static \Redis hScan($key, &$iterator, $pattern = null, $count = 0)
 * @method static \Redis hStrLen(string $key, string $field)
 * @method static \Redis zset($key)
 * @method static \Redis incr($key)
 * @method static \Redis incrBy($key, $value)
 * @method static \Redis decr($key)
 * @method static \Redis decrBy($key, $value)
 * @method static \Redis type($key)
 * @method static \Redis append($key, $value)
 * @method static \Redis substr($key, $start, $end)
 * @method static \Redis strlen($key)
 * @method static \Redis getBit($key, $offset)
 * @method static \Redis setBit($key, $offset, $value)
 * @method static \Redis keys($key)
 * @see \Illuminate\Redis\RedisManager
 * @see \Illuminate\Contracts\Redis\Factory
 * @mixin \Redis
 */
class Redis extends Facade
{

    /**
     * Get the registered name of the component.
     *
     * @return string
     */
    protected static function getFacadeAccessor()
    {
        return 'redis';
    }

}
